package com.sd.jd.jdk_history;

import java.util.ArrayList;
import java.util.List;

/**
 * java10 <br/>
 * 1、类型推断 {@link Test1} <br/>
 * 2、G1是Java 10中的默认垃圾收集器。与其他垃圾收集器相比，G1的主要优势在于它可以更好地管理大型内存。 <br/>
 * 3、删除了ThreadLocal静态map变量，改用线性探测哈希表实现ThreadLocalMap。这使得线程局部变量的存储空间更小，同时也提高了性能。<br/>
 */
public class Jd10 {

    public static class Test1 {
        public static void main(String[] args) {
            // 无类型推断
            List<String> list = new ArrayList<>();

            // 使用类型推断
            var list1 = new ArrayList<String>();

            // 需要注意的是，使用var时应避免过度使用，否则代码可读性会降低。
            System.out.println(list instanceof List);
            System.out.println(list1 instanceof List);
        }
    }

    public static class Test2 {
        public static void main(String[] args) {
            // 创建线程局部变量
            ThreadLocal<Integer> count = ThreadLocal.withInitial(() -> 0);

            // 获取线程局部变量的值
            int value = count.get();

            // 设置线程局部变量的值
            count.set(value + 1);

            System.out.println(count.get());
        }
    }


}
